﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using ASPItalia.ModelVirtualCasting.Silverlight.ModelVirtualCastingServices;
using System.Collections.ObjectModel;

namespace ASPItalia.ModelVirtualCasting.Silverlight.Models
{
  public interface IDataModelsModel
  {
    void GetAllModels();
    event EventHandler<AllModelsLoadedEventArgs> AllModelsLoadCompleted;
    event EventHandler<DataLoadingErrorEventArgs> DataLoadingError;
  }

  public class AllModelsLoadedEventArgs : EventArgs
  {
    public ObservableCollection<Model> Result { get; private set; }

    public AllModelsLoadedEventArgs(ObservableCollection<Model> result)
    {
      Result = result;
    }
  }

  public class DataLoadingErrorEventArgs : EventArgs
  {
    public Exception Exception { get; private set; }

    public DataLoadingErrorEventArgs(Exception ex)
    {
      Exception = ex;
    }
  }
}
